package com.winning.platwebservice.dao;

import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

/**
 * 执行业务数据操作的Dao
 */
@Mapper
public interface DataProcessingDao {

    /**
     * 插入操作
     *
     * @param tableName
     * @param paramMap
     */
    void insertORupdate(@Param("tableName") String tableName, @Param("paramMap") Map paramMap);


    /**
     * 根据参数的表名和字段列表删除对应记录数据
     *
     * @param tableName
     * @param paramMap
     */
    void deleteData(@Param("tableName") String tableName, @Param("paramMap") Map paramMap);

    /**
     * 根据主键列表,批量删除数据
     *
     * @return
     * @author z_dd@winning.com.cn
     * @date 2019/4/24 9:21
     */
    void batchDeleteData(@Param("tableName") String tableName, @Param("paramMapList") List<Map> paramMapList);

    /**
     * 根据字段名和字段值列表,批量插入数据
     *
     * @param tableName
     * @param paramMapList
     */
    void batchInsertData(@Param("tableName") String tableName, @Param("paramMapList") List<Map> paramMapList);


    Integer selectDate(@Param("tableName") String bm, @Param("paramMap") Map primaryKey);
}
